.class public Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;
.super Ljava/lang/Object;
.source "Ellipsoid.java"

# interfaces
.implements Ljava/io/Serializable;


# static fields
.field public static final ANS:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

.field public static final Clarke1858:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

.field public static final Clarke1880:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

.field public static final GRS67:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

.field public static final GRS80:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

.field public static final Sphere:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

.field public static final WGS72:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

.field public static final WGS84:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;


# instance fields
.field private final mFlattening:D

.field private final mInverseFlattening:D

.field private final mSemiMajorAxis:D

.field private final mSemiMinorAxis:D


# direct methods
.method static constructor <clinit>()V
    .locals 5

    const-wide v0, 0x415854a640000000L    # 6378137.0

    const-wide v2, 0x4072a41d96746d88L    # 298.257223563

    .line 49
    invoke-static {v0, v1, v2, v3}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->fromAAndInverseF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-result-object v2

    sput-object v2, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->WGS84:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    const-wide v2, 0x4072a41d94ebf9a8L    # 298.257222101

    .line 52
    invoke-static {v0, v1, v2, v3}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->fromAAndInverseF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-result-object v0

    sput-object v0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->GRS80:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    const-wide v0, 0x4072a40000000000L    # 298.25

    const-wide v2, 0x415854ac00000000L    # 6378160.0

    .line 55
    invoke-static {v2, v3, v0, v1}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->fromAAndInverseF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-result-object v4

    sput-object v4, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->GRS67:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    .line 58
    invoke-static {v2, v3, v0, v1}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->fromAAndInverseF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-result-object v0

    sput-object v0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->ANS:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    const-wide v0, 0x415854a5c0000000L    # 6378135.0

    const-wide v2, 0x4072a428f5c28f5cL    # 298.26

    .line 61
    invoke-static {v0, v1, v2, v3}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->fromAAndInverseF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-result-object v0

    sput-object v0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->WGS72:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    const-wide v0, 0x415854cd6947ae14L    # 6378293.645

    const-wide v2, 0x40726428f5c28f5cL    # 294.26

    .line 64
    invoke-static {v0, v1, v2, v3}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->fromAAndInverseF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-result-object v0

    sput-object v0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->Clarke1858:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    const-wide v0, 0x415854c24947ae14L    # 6378249.145

    const-wide v2, 0x40725770a3d70a3dL    # 293.465

    .line 67
    invoke-static {v0, v1, v2, v3}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->fromAAndInverseF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-result-object v0

    sput-object v0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->Clarke1880:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    const-wide v0, 0x41584dae00000000L    # 6371000.0

    const-wide/16 v2, 0x0

    .line 70
    invoke-static {v0, v1, v2, v3}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->fromAAndF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-result-object v0

    sput-object v0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->Sphere:Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    return-void
.end method

.method private constructor <init>(DDDD)V
    .locals 0

    .line 40
    invoke-direct {p0}, Ljava/lang/Object;-><init>()V

    .line 41
    iput-wide p1, p0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->mSemiMajorAxis:D

    .line 42
    iput-wide p3, p0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->mSemiMinorAxis:D

    .line 43
    iput-wide p5, p0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->mFlattening:D

    .line 44
    iput-wide p7, p0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->mInverseFlattening:D

    return-void
.end method

.method public static fromAAndF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;
    .locals 11

    const-wide/high16 v0, 0x3ff0000000000000L    # 1.0

    div-double v9, v0, p2

    sub-double/2addr v0, p2

    mul-double v5, v0, p0

    .line 97
    new-instance v0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-object v2, v0

    move-wide v3, p0

    move-wide v7, p2

    invoke-direct/range {v2 .. v10}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;-><init>(DDDD)V

    return-object v0
.end method

.method public static fromAAndInverseF(DD)Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;
    .locals 11

    const-wide/high16 v0, 0x3ff0000000000000L    # 1.0

    div-double v7, v0, p2

    sub-double/2addr v0, v7

    mul-double v5, v0, p0

    .line 83
    new-instance v0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;

    move-object v2, v0

    move-wide v3, p0

    move-wide v9, p2

    invoke-direct/range {v2 .. v10}, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;-><init>(DDDD)V

    return-object v0
.end method


# virtual methods
.method public getFlattening()D
    .locals 2

    .line 124
    iget-wide v0, p0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->mFlattening:D

    return-wide v0
.end method

.method public getSemiMajorAxis()D
    .locals 2

    .line 106
    iget-wide v0, p0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->mSemiMajorAxis:D

    return-wide v0
.end method

.method public getSemiMinorAxis()D
    .locals 2

    .line 115
    iget-wide v0, p0, Llt/noframe/gpsfarmguide/utils/geoCalcs/mike_gavaghan/Ellipsoid;->mSemiMinorAxis:D

    return-wide v0
.end method
